home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Suzy B Software 2
/
Suzy B Software CD-ROM 2 (1994).iso
/
extras
/
programm
/
gemfsc19
/
gemfsc19.lzh
/
GEMFBIND
/
AESRSRC1.S
< prev
next >
Wrap
Text File
|
1993-03-26
|
3KB
|
93 lines
;*========================================================================
;*
;* AESFAST Public Domain GEM bindings.
;*
;*========================================================================
;*************************************************************************
;*
;* Resource manager routines 1 of 2.
;*
;*************************************************************************
;-------------------------------------------------------------------------
; Define the offsets within the AES block storage area.
;-------------------------------------------------------------------------
aespb = 0 ; 'aespb' MUST be first!...
pcontrl = 0 ; Pointer to control array
pglobal = 4 ; Pointer to global array
pintin = 8 ; Pointer to intin array
pintout = 12 ; Pointer to intout array
padrin = 16 ; Pointer to adrin array
padrout = 20 ; Pointer to adrout array
control = 24 ; Control array is next...
function = 24 ; Function code
sintin = 26 ; size of intin
sintout = 28 ; size of intout
sadrin = 30 ; size of adrin
sadrout = 32 ; size of adrout
global = 34 ; Global array, needs no further def.
;-------------------------------------------------------------------------
; rsrc_load
;-------------------------------------------------------------------------
globl _rsrc_load
_rsrc_load:
; .cargs #4,ptr.l
ptr = 4
move.l #$6E000101,d0 ; AControl 110,0,1,1
lea ptr(sp),a0 ; -> addrin
jmp aes_do
;-------------------------------------------------------------------------
; rsrc_free
;-------------------------------------------------------------------------
globl _rsrc_free
_rsrc_free:
move.l #$6F000100,d0 ; AControl 111,0,1,0
jmp aes_do
;-------------------------------------------------------------------------
; rsrc_gaddr - The one AES function that uses 'addrout'...
;-------------------------------------------------------------------------
globl _rsrc_gaddr
_rsrc_gaddr:
; .cargs #8,type,idx,paddr.l
type = 8
idx = 10
paddr = 12
link a6,#-2
lea aesblock,a0 ; Since this function uses
move.l paddr(a6),padrout(a0) ; 'addrout', we will set it &
move.w #1,sadrout(a0) ; 'sadrout' here (into aespb).
move.l #$70020100,d0 ; AControl 112,2,1,0
moveq.l #-2,d1
lea type(a6),a1
jsr aes_call
lea aesblock,a0 ; Put sadrout and sintout back to
clr.l padrout(a0) ; zero, since all other functions
clr.w sadrout(a0) ; assume they will always be zero.
move.w -2(a6),d0
unlk a6
rts
; end of code